package com.sjq.common.dao;

import java.util.List;

import com.sjq.common.entity.Menu;
/**
 * 
 * @author xc
 * @version 2018.02.07
 * @since JDK1.6
 * 
 */

public interface MenuManagerDao {
	/**
	 * 查找所有菜单
	 * @return 
	 */
	public List<Menu> findMenuList();
	/**
	 * 根据应用系统id,查询菜单列表
	 * @return
	 */
	public List<Menu> findBySystemId(String systemId);
	/**
	 * 根据应用系统id和父菜单id,查找子菜单
	 * @param parentMenuId
	 * @return
	 */
	public List<Menu> findByParentMenuId(String systemId,String parentMenuId);
	/**
	 * 根据信息主键编号查询菜单
	 * @param systemId
	 * @param MenuId
	 * @return
	 */
	public Menu findByXxzjbh(String xxzjbh);
	/**
	 * 添加菜单,返回添加个数
	 * @param menu
	 */
	public int saveMenu(Menu menu);
	/**
	 * 更新菜单,返回更新个数
	 * @param menu
	 * @return
	 */
	public int updateMenu(Menu menu);
	/**
	 * 删除菜单,返回删除个数
	 * @param menu
	 * @return
	 */
	public int deleteMenu(String  xxzjbh);
	
	/**
	 * 更新拖拽根节点 ,返回生成的新菜单id
	 * @param xxzjbh
	 * @param targetParentMenuId
	 * @return
	 */
	public String updateDropRootNode(String xxzjbh,String parentMenuId);
	
	/**
	 * 将拖拽子节点的父节点 替换为新的 拖拽根节点id
	 * @param dropChildNodesOldParentMenuId 拖拽子节点 旧 父节点
	 * @param dropChildNodesNewParentMenuId 拖拽子节点 新 父节点
	 * @param systemId 系统id
	 * @return
	 */
	public int updateDropChildsNode(String dropChildNodesOldParentMenuId,String dropChildNodesNewParentMenuId,String systemId);
	
	/**
	 * 更新排序号
	 * @param data
	 * @return
	 */
	public int[] updateDropOrderNo(List<Object[]> bathArgs);
	

}
